Cloud computing includes computing resources as services delivered over the Internet. Migrating existing enterprise applications into the cloud presents challenges. For instance, an application may often include multiple network-connected servers hosting various middleware and software. Accordingly, to migrate such an application to the cloud, typically all of the application components need to be migrated as one unit (that is, within a specified time period) in order to ensure prompt and successful operation of the application after migration.
In existing approaches, individual vendors often provide proprietary migration technologies for a specific target cloud environment for some types of applications. Some vendor migration technologies may work well for certain components in an application, but not for all components therein. Migrating an application using such migration technologies may result in costly and lengthy remediation processes typically performed by professional services. However, users usually lack knowledge in how well various migration technologies work for different types of components, and how multiple migration technologies can be integrated to work together to migrate an application. As a result, users may not select appropriate migration technologies, thereby relying on a migration process that is time-consuming, error-prone, and costly.